#include <bits/stdc++.h>
using namespace std;
vector<int>A,B;
vector<int> bigAdd(vector<int> A,vector<int> B){
  if (A.size()<B.size()) return bigAdd(B,A);
    vector<int> C;
        int t = 0;
    for(int i=0;i<A.size();i++){
        t+=A[i];
        if (i<B.size())
            t+=B[i];
        C.push_back(t%10);
        t = t/10;
    }
  //如果有进位，要输出。但是如果是999+1 那要变前面的
   if (t){
     C.push_back(t); //有进位，算进去
   }
    return C;
}   
// C = A + B, A >= 0, B >= 0
// vector<int> add(vector<int> &A, vector<int> &B)
// { //A,B都是大端序数字
//     if (A.size() < B.size()) return add(B, A); //A是更长的数

//     vector<int> C;
//     int t = 0;
//     for (int i = 0; i < A.size(); i ++ )
//     {
//         t += A[i];
//         if (i < B.size()) t += B[i];
//         C.push_back(t % 10);
//         t /= 10;
//     }

//     if (t) C.push_back(t);
//     return C;
// }

int main()
{
    int size = 1e5+1;
    char a[size],b[size];
    scanf("%s",a);
    scanf("%s",b);
    int len1 = strlen(a);
    int len2 =  strlen(b);
    for(int i = len1-1;i>=0;i--)
      A.push_back(a[i]-'0');
    for(int i = len2-1;i>=0;i--)
        B.push_back(b[i]-'0');
    

    vector<int> res = bigAdd(A,B);
    //倒序的数
    for(int i = res.size()-1;i>=0;i--){
        cout<<res[i];
    }


    return 0;
}



